【20210910】【Matlab】load .mat 数据之后将变量重命名 您所在的位置:网站首页 matlab load在哪里 【20210910】【Matlab】load .mat 数据之后将变量重命名

【20210910】【Matlab】load .mat 数据之后将变量重命名

2023-09-07 18:52| 来源: 网络整理| 查看: 265

一、背景

        在使用 Matlab 过程中,需要读取 .mat 数据使用,使用 load 命令之后赋给一个变量,发现并不是把 mat 数据的内容赋给这个变量,而是赋值了一个结构体。所以在使用时,问题在于这个结构体内变量名是未知的,所以没办法直接使用。

二、解决办法

        fieldnames:获取一个未知的 struct 的所有 field;

        getfield:返回 struct 中指定字段的值。

% 创建一个结构体 tmp.a = 1; tmp.b = 2; tmp.c = 3; save tmp tmp; clear tmp; % 载入 mat 数据 val_struct = load('tmp.mat'); % 载入 mat 数据,出来是一个结构体,我们需要的变量是【结构体.变量名】 val_names = fieldnames(val_struct); % 获取结构体后那个未知的变量名 val = getfield(val_struct, val_names{1}); % 读取该变量名下的数据,并重新命名变量名val

        (参考:matlab load函数变量的名字,解决matlab load文件不知道变量名的问题)

        (参考:matlab 列出struct中所有的fields----fieldnamea)

        (参考:getfield)                



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有